#ifndef HASH_TABLE

#define HASH_TABLE
#define MAX 3

#include <stdlib.h>
#include <stdio.h>
#include "client.h"
#include "fichier.h"
#include "hash_table_client.h"
#include "serveur.h"

/***  Structure Hashtable ***/

struct hash_table{
  struct fichier * tab[MAX];
  int ** possesseur; /* 
		      * tableau de "booléen", 
		      * exemple : T[client][fichier]
		      * Attention : T[C1][0] = cle du client.
		      */
  int nbreFichier;
  int nbreClient;
  struct table_client * tc;
};

/*** Fonctions de gestion ***/
struct hash_table * init_table(void);
void ajouter_fichier(struct hash_table * T,struct fichier * F, struct client * C);
int ajouter_client(struct hash_table *, struct client *);
int estClient(char*,struct hash_table*);

/*** Fonction de débuggage ***/
void printTable(struct hash_table*H);


#endif
